草庐IT

Android AsyncTask 内存泄漏

全部标签

c++ - 我可以将新的 std::tuple 放入内存映射区域,然后再读回吗?

我有一些打包的结构,我将把它们写入内存映射文件。它们都是POD。为了适应我正在做的一些通用编程,我希望能够编写一个std::tuple几个打包结构。我担心写一个std::tuple的成员到我映射区域的地址,然后将该地址转换回std::tuple会坏掉的。我写了一个小示例程序,它似乎可以工作,但我担心我有未定义的行为。这是我的结构:structFoo{charc;uint8_tpad[3];inti;doubled;}__attribute__((packed));structBar{inti;charc;uint8_tpad[3];doubled;}__attribute__((pac

c++ - std::vector 增加峰值内存

这是我上一个问题的延续。我无法理解vector占用的内存。问题骨架:考虑一个vector,它是列表的集合,而列表是指针的集合。完全像:std::vector>vec;ABC是我的类(class)。我们在64位机器上工作,所以指针的大小是8个字节。在我的项目流程开始时,我将这个vector的大小调整为一个数字,以便我可以将列表存储在各自的索引中。vec.resize(613284686);此时,vector的容量和大小为613284686。对。调整大小后,我将列表插入相应的索引处://Somewheredownintheprogram,maketheselists.Simplepushf

c++ - 从内存中获取 jpeg 的大小(使用 GDI++ 转换)

这是我在这里的第一篇文章。我有个问题。我需要拍摄桌面截图,将其转换为jpeg,将其存储在缓冲区中,然后对其进行处理并通过Internet发送。我已经编写了使用GetDC执行此操作的代码……以及用于将HBITMAP转换为jpeg的GDI+。我现在遇到的问题是我不知道保存到IStream中的jpeg的大小。这是将HBITMAPhBackBitmap引用的位图转换为jpeg并将其保存到pStream的部分代码。我需要知道有多少字节已写入pStream以及如何使用pStream(获取PVOID句柄):Gdiplus::Bitmapbitmap(hBackBitmap,NULL);///load

c++ - 额外的函数/方法定义会增加程序的内存占用吗?

在C++中,定义未使用的额外方法或函数是否会导致更大的内存占用或更慢的执行速度?基本上,我在一个类中有几个实用调试方法,没有一个是正常使用类所必需的。如果从未使用过这些定义,是否会保留这些定义,在内存占用或速度方面会有所不同吗?例如:classmyClass{public://SomethingtheuserofthisclasswoulduseintdoSomething(){...}//SomethingusedsolelytomakesureIwrotetheclassproperlyboolisClassValid(){...}};...myClassclassInstance

c++ - 使用 CoCreateInstance 时内存泄漏

我正在使用COM通过C++非托管代码初始化C#.NET类,并且即使在非常基本的程序中我也检测到内存泄漏:int_tmain(intargc,_TCHAR*argv[]){CoInitialize(NULL);ComClass::IClass1*_comClass1;HRESULThr=CoCreateInstance(__uuidof(ComClass::Class1),0,CLSCTX_INPROC_SERVER,__uuidof(ComClass::IClass1),reinterpret_cast(&_comClass1));_comClass1->Release();CoUni

c++ - timer_create 给出内存泄漏问题 "Syscall param timer_create(evp) points to uninitialised byte(s)"

structsigeventtimerEvent;memset(&timerEvent,0,sizeof(timerEvent));timerEvent.sigev_value.sival_int=0;timerEvent.sigev_value.sival_ptr=diaBase;timerEvent.sigev_notify=SIGEV_THREAD;timerEvent._sigev_un._sigev_thread._function=function;timerEvent._sigev_un._sigev_thread._attribute=NULL;timer_ttimer

c++ - 链接 POCO C++ 库会导致大量内存泄漏

我刚刚开始尝试集成PocoC++库与我们的游戏引擎,但是每次我链接/usr/lib/libPocoFoundation.so我的程序突然有51内存泄漏。删除链接选项可以消除所有泄漏(它们都不是来self的代码)。即使我从我的C++文件中删除所有Poco#include,也会发生这种情况。我怀疑Poco的Foundation(核心)方法是否真的存在51次内存泄漏-搜索他们的论坛没有发现任何东西,我相信其他用户会注意到这种明显的东西。我认为我链接到Poco的方式更有可能出现问题?我在Ubuntu11上,使用Code::Blocks作为IDE,使用g++4.5.2构建,并从ubuntuppa

c++ - 是否有一个简单的 Windows 内存调试器(a)是免费的并且(b)可以工作?

我一直在尝试调试大型项目中的细微内存问题。已经好几个星期了,我还是没能找到它。我的程序在运行一定时间后随机崩溃。因此,我一直在尝试获得某种内存调试器。以下是我考虑/尝试过的选项:IBMPurify-成功检测到内存泄漏,但要我付钱才能查明它在哪里Valgrind-我听说过关于这个程序的好消息,但它是用于Linux的,我必须将我的整个项目移植过来MPatrol-同样,它主要用于Linux。Windows版本适用于MingGW,我使用的是VisualStudio。我在网上找到了VC++的二进制文件并按照那里的说明进行操作,但程序拒绝输出任何日志文件。应用程序验证器-在开始时抛出一个随机断点,

c++ - 释放内存opencv

我已经发布了一些关于释放所有IplImage和所有CvMat结构和CvMemStorage的帖子,但我仍然有一些内存问题。我是否还必须释放CvPoint、CvScalar、CvPoint*(3个CvPoint的数组,我是否也必须释放每个元素?)如果我必须发布所有这些东西,我该怎么做?我没有找到这样做的任何功能。我在C/C++中使用OpenCV2.1。这是我声明它们的方式:CvScalarb1;CvScalarf;float*data=(float*)resd->imageData;(needtoreleasedata)CvPoint*point;CvPointpt;CvPoint*pt

java堆内存分析实操 | dump文件

dump文件介绍Dump文件是进程或系统在给定时间的快照,例如当进程崩溃或进程出现其他问题时,甚至在任何时候,我们都可以使用工具备份系统或进程的内存以进行调试和分析。Dump文件包含模块信息、线程信息、堆栈调用信息、异常信息等。程序的执行状态可以通过调试器保存到Dump文件中。操作流程生成dump文件分析dump文件dump文件生成方式项目出故障时生成java项目启动参数配置上以下参数,出故障时会生成dump文件-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/home/xxx项目名/logs项目正常运行时生成通过jps查到目标进程号,再通过jm